<?php

namespace BXTR\BookBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Edition
 */
class Edition
{
    /**
     * @var integer
     */
    private $id;

    /**
     * @var string
     */
    private $name;

    /**
     * @var string
     */
    private $weight;

    /**
     * @var string
     */
    private $width;

    /**
     * @var string
     */
    private $height;

    /**
     * @var string
     */
    private $length;

    /**
     * @var integer
     */
    private $page_count;

    /**
     * @var integer
     */
    private $stock_remaining;

    /**
     * @var string
     */
    private $cost_et;

    /**
     * @var string
     */
    private $synopsis;

    /**
     * @var \DateTime
     */
    private $publish_date;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set name
     *
     * @param string $name
     * @return Edition
     */
    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    /**
     * Get name
     *
     * @return string 
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set weight
     *
     * @param string $weight
     * @return Edition
     */
    public function setWeight($weight)
    {
        $this->weight = $weight;

        return $this;
    }

    /**
     * Get weight
     *
     * @return string 
     */
    public function getWeight()
    {
        return $this->weight;
    }

    /**
     * Set width
     *
     * @param string $width
     * @return Edition
     */
    public function setWidth($width)
    {
        $this->width = $width;

        return $this;
    }

    /**
     * Get width
     *
     * @return string 
     */
    public function getWidth()
    {
        return $this->width;
    }

    /**
     * Set height
     *
     * @param string $height
     * @return Edition
     */
    public function setHeight($height)
    {
        $this->height = $height;

        return $this;
    }

    /**
     * Get height
     *
     * @return string 
     */
    public function getHeight()
    {
        return $this->height;
    }

    /**
     * Set length
     *
     * @param string $length
     * @return Edition
     */
    public function setLength($length)
    {
        $this->length = $length;

        return $this;
    }

    /**
     * Get length
     *
     * @return string 
     */
    public function getLength()
    {
        return $this->length;
    }

    /**
     * Set page_count
     *
     * @param integer $pageCount
     * @return Edition
     */
    public function setPageCount($pageCount)
    {
        $this->page_count = $pageCount;

        return $this;
    }

    /**
     * Get page_count
     *
     * @return integer 
     */
    public function getPageCount()
    {
        return $this->page_count;
    }

    /**
     * Set stock_remaining
     *
     * @param integer $stockRemaining
     * @return Edition
     */
    public function setStockRemaining($stockRemaining)
    {
        $this->stock_remaining = $stockRemaining;

        return $this;
    }

    /**
     * Get stock_remaining
     *
     * @return integer 
     */
    public function getStockRemaining()
    {
        return $this->stock_remaining;
    }

    /**
     * Set cost_et
     *
     * @param string $costEt
     * @return Edition
     */
    public function setCostEt($costEt)
    {
        $this->cost_et = $costEt;

        return $this;
    }

    /**
     * Get cost_et
     *
     * @return string 
     */
    public function getCostEt()
    {
        return $this->cost_et;
    }

    /**
     * Set synopsis
     *
     * @param string $synopsis
     * @return Edition
     */
    public function setSynopsis($synopsis)
    {
        $this->synopsis = $synopsis;

        return $this;
    }

    /**
     * Get synopsis
     *
     * @return string 
     */
    public function getSynopsis()
    {
        return $this->synopsis;
    }

    /**
     * Set publish_date
     *
     * @param \DateTime $publishDate
     * @return Edition
     */
    public function setPublishDate($publishDate)
    {
        $this->publish_date = $publishDate;

        return $this;
    }

    /**
     * Get publish_date
     *
     * @return \DateTime 
     */
    public function getPublishDate()
    {
        return $this->publish_date;
    }
    /**
     * @var \BXTR\BookBundle\Entity\BookState
     */
    private $state;


    /**
     * Set state
     *
     * @param \BXTR\BookBundle\Entity\BookState $state
     * @return Edition
     */
    public function setState(\BXTR\BookBundle\Entity\BookState $state = null)
    {
        $this->state = $state;

        return $this;
    }

    /**
     * Get state
     *
     * @return \BXTR\BookBundle\Entity\BookState 
     */
    public function getState()
    {
        return $this->state;
    }
    /**
     * @var \BXTR\BookBundle\Entity\Book
     */
    private $book;


    /**
     * Set book
     *
     * @param \BXTR\BookBundle\Entity\Book $book
     * @return Edition
     */
    public function setBook(\BXTR\BookBundle\Entity\Book $book = null)
    {
        $this->book = $book;

        return $this;
    }

    /**
     * Get book
     *
     * @return \BXTR\BookBundle\Entity\Book 
     */
    public function getBook()
    {
        return $this->book;
    }
}
